Chapter 3 Buffer Overflow

#CSAPP
本节介绍了一个非常有趣的例子,是本书目前为止最有趣的部分,看得最认真的一集

gets() 极其危险:没有执行缓存区写入的大小检查,若将可执行代码和填充字节写入,就会向着栈底覆盖原有数据,如果用 jmp 语句恰好覆盖上层函数的返回地址,那么就可以跳转到注入的恶意代码执行,操纵目标机器。

一些防范手段